package com.dk.pojo;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class ReservoirExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public ReservoirExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andRIdIsNull() {
            addCriterion("r_id is null");
            return (Criteria) this;
        }

        public Criteria andRIdIsNotNull() {
            addCriterion("r_id is not null");
            return (Criteria) this;
        }

        public Criteria andRIdEqualTo(Integer value) {
            addCriterion("r_id =", value, "rId");
            return (Criteria) this;
        }

        public Criteria andRIdNotEqualTo(Integer value) {
            addCriterion("r_id <>", value, "rId");
            return (Criteria) this;
        }

        public Criteria andRIdGreaterThan(Integer value) {
            addCriterion("r_id >", value, "rId");
            return (Criteria) this;
        }

        public Criteria andRIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("r_id >=", value, "rId");
            return (Criteria) this;
        }

        public Criteria andRIdLessThan(Integer value) {
            addCriterion("r_id <", value, "rId");
            return (Criteria) this;
        }

        public Criteria andRIdLessThanOrEqualTo(Integer value) {
            addCriterion("r_id <=", value, "rId");
            return (Criteria) this;
        }

        public Criteria andRIdIn(List<Integer> values) {
            addCriterion("r_id in", values, "rId");
            return (Criteria) this;
        }

        public Criteria andRIdNotIn(List<Integer> values) {
            addCriterion("r_id not in", values, "rId");
            return (Criteria) this;
        }

        public Criteria andRIdBetween(Integer value1, Integer value2) {
            addCriterion("r_id between", value1, value2, "rId");
            return (Criteria) this;
        }

        public Criteria andRIdNotBetween(Integer value1, Integer value2) {
            addCriterion("r_id not between", value1, value2, "rId");
            return (Criteria) this;
        }

        public Criteria andRCodeIsNull() {
            addCriterion("r_code is null");
            return (Criteria) this;
        }

        public Criteria andRCodeIsNotNull() {
            addCriterion("r_code is not null");
            return (Criteria) this;
        }

        public Criteria andRCodeEqualTo(String value) {
            addCriterion("r_code =", value, "rCode");
            return (Criteria) this;
        }

        public Criteria andRCodeNotEqualTo(String value) {
            addCriterion("r_code <>", value, "rCode");
            return (Criteria) this;
        }

        public Criteria andRCodeGreaterThan(String value) {
            addCriterion("r_code >", value, "rCode");
            return (Criteria) this;
        }

        public Criteria andRCodeGreaterThanOrEqualTo(String value) {
            addCriterion("r_code >=", value, "rCode");
            return (Criteria) this;
        }

        public Criteria andRCodeLessThan(String value) {
            addCriterion("r_code <", value, "rCode");
            return (Criteria) this;
        }

        public Criteria andRCodeLessThanOrEqualTo(String value) {
            addCriterion("r_code <=", value, "rCode");
            return (Criteria) this;
        }

        public Criteria andRCodeLike(String value) {
            addCriterion("r_code like", value, "rCode");
            return (Criteria) this;
        }

        public Criteria andRCodeNotLike(String value) {
            addCriterion("r_code not like", value, "rCode");
            return (Criteria) this;
        }

        public Criteria andRCodeIn(List<String> values) {
            addCriterion("r_code in", values, "rCode");
            return (Criteria) this;
        }

        public Criteria andRCodeNotIn(List<String> values) {
            addCriterion("r_code not in", values, "rCode");
            return (Criteria) this;
        }

        public Criteria andRCodeBetween(String value1, String value2) {
            addCriterion("r_code between", value1, value2, "rCode");
            return (Criteria) this;
        }

        public Criteria andRCodeNotBetween(String value1, String value2) {
            addCriterion("r_code not between", value1, value2, "rCode");
            return (Criteria) this;
        }

        public Criteria andRNameIsNull() {
            addCriterion("r_name is null");
            return (Criteria) this;
        }

        public Criteria andRNameIsNotNull() {
            addCriterion("r_name is not null");
            return (Criteria) this;
        }

        public Criteria andRNameEqualTo(String value) {
            addCriterion("r_name =", value, "rName");
            return (Criteria) this;
        }

        public Criteria andRNameNotEqualTo(String value) {
            addCriterion("r_name <>", value, "rName");
            return (Criteria) this;
        }

        public Criteria andRNameGreaterThan(String value) {
            addCriterion("r_name >", value, "rName");
            return (Criteria) this;
        }

        public Criteria andRNameGreaterThanOrEqualTo(String value) {
            addCriterion("r_name >=", value, "rName");
            return (Criteria) this;
        }

        public Criteria andRNameLessThan(String value) {
            addCriterion("r_name <", value, "rName");
            return (Criteria) this;
        }

        public Criteria andRNameLessThanOrEqualTo(String value) {
            addCriterion("r_name <=", value, "rName");
            return (Criteria) this;
        }

        public Criteria andRNameLike(String value) {
            addCriterion("r_name like", value, "rName");
            return (Criteria) this;
        }

        public Criteria andRNameNotLike(String value) {
            addCriterion("r_name not like", value, "rName");
            return (Criteria) this;
        }

        public Criteria andRNameIn(List<String> values) {
            addCriterion("r_name in", values, "rName");
            return (Criteria) this;
        }

        public Criteria andRNameNotIn(List<String> values) {
            addCriterion("r_name not in", values, "rName");
            return (Criteria) this;
        }

        public Criteria andRNameBetween(String value1, String value2) {
            addCriterion("r_name between", value1, value2, "rName");
            return (Criteria) this;
        }

        public Criteria andRNameNotBetween(String value1, String value2) {
            addCriterion("r_name not between", value1, value2, "rName");
            return (Criteria) this;
        }

        public Criteria andRAreaIsNull() {
            addCriterion("r_area is null");
            return (Criteria) this;
        }

        public Criteria andRAreaIsNotNull() {
            addCriterion("r_area is not null");
            return (Criteria) this;
        }

        public Criteria andRAreaEqualTo(Integer value) {
            addCriterion("r_area =", value, "rArea");
            return (Criteria) this;
        }

        public Criteria andRAreaNotEqualTo(Integer value) {
            addCriterion("r_area <>", value, "rArea");
            return (Criteria) this;
        }

        public Criteria andRAreaGreaterThan(Integer value) {
            addCriterion("r_area >", value, "rArea");
            return (Criteria) this;
        }

        public Criteria andRAreaGreaterThanOrEqualTo(Integer value) {
            addCriterion("r_area >=", value, "rArea");
            return (Criteria) this;
        }

        public Criteria andRAreaLessThan(Integer value) {
            addCriterion("r_area <", value, "rArea");
            return (Criteria) this;
        }

        public Criteria andRAreaLessThanOrEqualTo(Integer value) {
            addCriterion("r_area <=", value, "rArea");
            return (Criteria) this;
        }

        public Criteria andRAreaIn(List<Integer> values) {
            addCriterion("r_area in", values, "rArea");
            return (Criteria) this;
        }

        public Criteria andRAreaNotIn(List<Integer> values) {
            addCriterion("r_area not in", values, "rArea");
            return (Criteria) this;
        }

        public Criteria andRAreaBetween(Integer value1, Integer value2) {
            addCriterion("r_area between", value1, value2, "rArea");
            return (Criteria) this;
        }

        public Criteria andRAreaNotBetween(Integer value1, Integer value2) {
            addCriterion("r_area not between", value1, value2, "rArea");
            return (Criteria) this;
        }

        public Criteria andRNotesIsNull() {
            addCriterion("r_notes is null");
            return (Criteria) this;
        }

        public Criteria andRNotesIsNotNull() {
            addCriterion("r_notes is not null");
            return (Criteria) this;
        }

        public Criteria andRNotesEqualTo(String value) {
            addCriterion("r_notes =", value, "rNotes");
            return (Criteria) this;
        }

        public Criteria andRNotesNotEqualTo(String value) {
            addCriterion("r_notes <>", value, "rNotes");
            return (Criteria) this;
        }

        public Criteria andRNotesGreaterThan(String value) {
            addCriterion("r_notes >", value, "rNotes");
            return (Criteria) this;
        }

        public Criteria andRNotesGreaterThanOrEqualTo(String value) {
            addCriterion("r_notes >=", value, "rNotes");
            return (Criteria) this;
        }

        public Criteria andRNotesLessThan(String value) {
            addCriterion("r_notes <", value, "rNotes");
            return (Criteria) this;
        }

        public Criteria andRNotesLessThanOrEqualTo(String value) {
            addCriterion("r_notes <=", value, "rNotes");
            return (Criteria) this;
        }

        public Criteria andRNotesLike(String value) {
            addCriterion("r_notes like", value, "rNotes");
            return (Criteria) this;
        }

        public Criteria andRNotesNotLike(String value) {
            addCriterion("r_notes not like", value, "rNotes");
            return (Criteria) this;
        }

        public Criteria andRNotesIn(List<String> values) {
            addCriterion("r_notes in", values, "rNotes");
            return (Criteria) this;
        }

        public Criteria andRNotesNotIn(List<String> values) {
            addCriterion("r_notes not in", values, "rNotes");
            return (Criteria) this;
        }

        public Criteria andRNotesBetween(String value1, String value2) {
            addCriterion("r_notes between", value1, value2, "rNotes");
            return (Criteria) this;
        }

        public Criteria andRNotesNotBetween(String value1, String value2) {
            addCriterion("r_notes not between", value1, value2, "rNotes");
            return (Criteria) this;
        }

        public Criteria andWIdIsNull() {
            addCriterion("w_id is null");
            return (Criteria) this;
        }

        public Criteria andWIdIsNotNull() {
            addCriterion("w_id is not null");
            return (Criteria) this;
        }

        public Criteria andWIdEqualTo(Integer value) {
            addCriterion("w_id =", value, "wId");
            return (Criteria) this;
        }

        public Criteria andWIdNotEqualTo(Integer value) {
            addCriterion("w_id <>", value, "wId");
            return (Criteria) this;
        }

        public Criteria andWIdGreaterThan(Integer value) {
            addCriterion("w_id >", value, "wId");
            return (Criteria) this;
        }

        public Criteria andWIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("w_id >=", value, "wId");
            return (Criteria) this;
        }

        public Criteria andWIdLessThan(Integer value) {
            addCriterion("w_id <", value, "wId");
            return (Criteria) this;
        }

        public Criteria andWIdLessThanOrEqualTo(Integer value) {
            addCriterion("w_id <=", value, "wId");
            return (Criteria) this;
        }

        public Criteria andWIdIn(List<Integer> values) {
            addCriterion("w_id in", values, "wId");
            return (Criteria) this;
        }

        public Criteria andWIdNotIn(List<Integer> values) {
            addCriterion("w_id not in", values, "wId");
            return (Criteria) this;
        }

        public Criteria andWIdBetween(Integer value1, Integer value2) {
            addCriterion("w_id between", value1, value2, "wId");
            return (Criteria) this;
        }

        public Criteria andWIdNotBetween(Integer value1, Integer value2) {
            addCriterion("w_id not between", value1, value2, "wId");
            return (Criteria) this;
        }

        public Criteria andUIdIsNull() {
            addCriterion("u_id is null");
            return (Criteria) this;
        }

        public Criteria andUIdIsNotNull() {
            addCriterion("u_id is not null");
            return (Criteria) this;
        }

        public Criteria andUIdEqualTo(Integer value) {
            addCriterion("u_id =", value, "uId");
            return (Criteria) this;
        }

        public Criteria andUIdNotEqualTo(Integer value) {
            addCriterion("u_id <>", value, "uId");
            return (Criteria) this;
        }

        public Criteria andUIdGreaterThan(Integer value) {
            addCriterion("u_id >", value, "uId");
            return (Criteria) this;
        }

        public Criteria andUIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("u_id >=", value, "uId");
            return (Criteria) this;
        }

        public Criteria andUIdLessThan(Integer value) {
            addCriterion("u_id <", value, "uId");
            return (Criteria) this;
        }

        public Criteria andUIdLessThanOrEqualTo(Integer value) {
            addCriterion("u_id <=", value, "uId");
            return (Criteria) this;
        }

        public Criteria andUIdIn(List<Integer> values) {
            addCriterion("u_id in", values, "uId");
            return (Criteria) this;
        }

        public Criteria andUIdNotIn(List<Integer> values) {
            addCriterion("u_id not in", values, "uId");
            return (Criteria) this;
        }

        public Criteria andUIdBetween(Integer value1, Integer value2) {
            addCriterion("u_id between", value1, value2, "uId");
            return (Criteria) this;
        }

        public Criteria andUIdNotBetween(Integer value1, Integer value2) {
            addCriterion("u_id not between", value1, value2, "uId");
            return (Criteria) this;
        }

        public Criteria andRDateIsNull() {
            addCriterion("r_date is null");
            return (Criteria) this;
        }

        public Criteria andRDateIsNotNull() {
            addCriterion("r_date is not null");
            return (Criteria) this;
        }

        public Criteria andRDateEqualTo(Date value) {
            addCriterion("r_date =", value, "rDate");
            return (Criteria) this;
        }

        public Criteria andRDateNotEqualTo(Date value) {
            addCriterion("r_date <>", value, "rDate");
            return (Criteria) this;
        }

        public Criteria andRDateGreaterThan(Date value) {
            addCriterion("r_date >", value, "rDate");
            return (Criteria) this;
        }

        public Criteria andRDateGreaterThanOrEqualTo(Date value) {
            addCriterion("r_date >=", value, "rDate");
            return (Criteria) this;
        }

        public Criteria andRDateLessThan(Date value) {
            addCriterion("r_date <", value, "rDate");
            return (Criteria) this;
        }

        public Criteria andRDateLessThanOrEqualTo(Date value) {
            addCriterion("r_date <=", value, "rDate");
            return (Criteria) this;
        }

        public Criteria andRDateIn(List<Date> values) {
            addCriterion("r_date in", values, "rDate");
            return (Criteria) this;
        }

        public Criteria andRDateNotIn(List<Date> values) {
            addCriterion("r_date not in", values, "rDate");
            return (Criteria) this;
        }

        public Criteria andRDateBetween(Date value1, Date value2) {
            addCriterion("r_date between", value1, value2, "rDate");
            return (Criteria) this;
        }

        public Criteria andRDateNotBetween(Date value1, Date value2) {
            addCriterion("r_date not between", value1, value2, "rDate");
            return (Criteria) this;
        }

        public Criteria andRBeiaIsNull() {
            addCriterion("r_beia is null");
            return (Criteria) this;
        }

        public Criteria andRBeiaIsNotNull() {
            addCriterion("r_beia is not null");
            return (Criteria) this;
        }

        public Criteria andRBeiaEqualTo(String value) {
            addCriterion("r_beia =", value, "rBeia");
            return (Criteria) this;
        }

        public Criteria andRBeiaNotEqualTo(String value) {
            addCriterion("r_beia <>", value, "rBeia");
            return (Criteria) this;
        }

        public Criteria andRBeiaGreaterThan(String value) {
            addCriterion("r_beia >", value, "rBeia");
            return (Criteria) this;
        }

        public Criteria andRBeiaGreaterThanOrEqualTo(String value) {
            addCriterion("r_beia >=", value, "rBeia");
            return (Criteria) this;
        }

        public Criteria andRBeiaLessThan(String value) {
            addCriterion("r_beia <", value, "rBeia");
            return (Criteria) this;
        }

        public Criteria andRBeiaLessThanOrEqualTo(String value) {
            addCriterion("r_beia <=", value, "rBeia");
            return (Criteria) this;
        }

        public Criteria andRBeiaLike(String value) {
            addCriterion("r_beia like", value, "rBeia");
            return (Criteria) this;
        }

        public Criteria andRBeiaNotLike(String value) {
            addCriterion("r_beia not like", value, "rBeia");
            return (Criteria) this;
        }

        public Criteria andRBeiaIn(List<String> values) {
            addCriterion("r_beia in", values, "rBeia");
            return (Criteria) this;
        }

        public Criteria andRBeiaNotIn(List<String> values) {
            addCriterion("r_beia not in", values, "rBeia");
            return (Criteria) this;
        }

        public Criteria andRBeiaBetween(String value1, String value2) {
            addCriterion("r_beia between", value1, value2, "rBeia");
            return (Criteria) this;
        }

        public Criteria andRBeiaNotBetween(String value1, String value2) {
            addCriterion("r_beia not between", value1, value2, "rBeia");
            return (Criteria) this;
        }

        public Criteria andRBeibIsNull() {
            addCriterion("r_beib is null");
            return (Criteria) this;
        }

        public Criteria andRBeibIsNotNull() {
            addCriterion("r_beib is not null");
            return (Criteria) this;
        }

        public Criteria andRBeibEqualTo(String value) {
            addCriterion("r_beib =", value, "rBeib");
            return (Criteria) this;
        }

        public Criteria andRBeibNotEqualTo(String value) {
            addCriterion("r_beib <>", value, "rBeib");
            return (Criteria) this;
        }

        public Criteria andRBeibGreaterThan(String value) {
            addCriterion("r_beib >", value, "rBeib");
            return (Criteria) this;
        }

        public Criteria andRBeibGreaterThanOrEqualTo(String value) {
            addCriterion("r_beib >=", value, "rBeib");
            return (Criteria) this;
        }

        public Criteria andRBeibLessThan(String value) {
            addCriterion("r_beib <", value, "rBeib");
            return (Criteria) this;
        }

        public Criteria andRBeibLessThanOrEqualTo(String value) {
            addCriterion("r_beib <=", value, "rBeib");
            return (Criteria) this;
        }

        public Criteria andRBeibLike(String value) {
            addCriterion("r_beib like", value, "rBeib");
            return (Criteria) this;
        }

        public Criteria andRBeibNotLike(String value) {
            addCriterion("r_beib not like", value, "rBeib");
            return (Criteria) this;
        }

        public Criteria andRBeibIn(List<String> values) {
            addCriterion("r_beib in", values, "rBeib");
            return (Criteria) this;
        }

        public Criteria andRBeibNotIn(List<String> values) {
            addCriterion("r_beib not in", values, "rBeib");
            return (Criteria) this;
        }

        public Criteria andRBeibBetween(String value1, String value2) {
            addCriterion("r_beib between", value1, value2, "rBeib");
            return (Criteria) this;
        }

        public Criteria andRBeibNotBetween(String value1, String value2) {
            addCriterion("r_beib not between", value1, value2, "rBeib");
            return (Criteria) this;
        }

        public Criteria andRBeicIsNull() {
            addCriterion("r_beic is null");
            return (Criteria) this;
        }

        public Criteria andRBeicIsNotNull() {
            addCriterion("r_beic is not null");
            return (Criteria) this;
        }

        public Criteria andRBeicEqualTo(Integer value) {
            addCriterion("r_beic =", value, "rBeic");
            return (Criteria) this;
        }

        public Criteria andRBeicNotEqualTo(Integer value) {
            addCriterion("r_beic <>", value, "rBeic");
            return (Criteria) this;
        }

        public Criteria andRBeicGreaterThan(Integer value) {
            addCriterion("r_beic >", value, "rBeic");
            return (Criteria) this;
        }

        public Criteria andRBeicGreaterThanOrEqualTo(Integer value) {
            addCriterion("r_beic >=", value, "rBeic");
            return (Criteria) this;
        }

        public Criteria andRBeicLessThan(Integer value) {
            addCriterion("r_beic <", value, "rBeic");
            return (Criteria) this;
        }

        public Criteria andRBeicLessThanOrEqualTo(Integer value) {
            addCriterion("r_beic <=", value, "rBeic");
            return (Criteria) this;
        }

        public Criteria andRBeicIn(List<Integer> values) {
            addCriterion("r_beic in", values, "rBeic");
            return (Criteria) this;
        }

        public Criteria andRBeicNotIn(List<Integer> values) {
            addCriterion("r_beic not in", values, "rBeic");
            return (Criteria) this;
        }

        public Criteria andRBeicBetween(Integer value1, Integer value2) {
            addCriterion("r_beic between", value1, value2, "rBeic");
            return (Criteria) this;
        }

        public Criteria andRBeicNotBetween(Integer value1, Integer value2) {
            addCriterion("r_beic not between", value1, value2, "rBeic");
            return (Criteria) this;
        }

        public Criteria andRBeidIsNull() {
            addCriterion("r_beid is null");
            return (Criteria) this;
        }

        public Criteria andRBeidIsNotNull() {
            addCriterion("r_beid is not null");
            return (Criteria) this;
        }

        public Criteria andRBeidEqualTo(Integer value) {
            addCriterion("r_beid =", value, "rBeid");
            return (Criteria) this;
        }

        public Criteria andRBeidNotEqualTo(Integer value) {
            addCriterion("r_beid <>", value, "rBeid");
            return (Criteria) this;
        }

        public Criteria andRBeidGreaterThan(Integer value) {
            addCriterion("r_beid >", value, "rBeid");
            return (Criteria) this;
        }

        public Criteria andRBeidGreaterThanOrEqualTo(Integer value) {
            addCriterion("r_beid >=", value, "rBeid");
            return (Criteria) this;
        }

        public Criteria andRBeidLessThan(Integer value) {
            addCriterion("r_beid <", value, "rBeid");
            return (Criteria) this;
        }

        public Criteria andRBeidLessThanOrEqualTo(Integer value) {
            addCriterion("r_beid <=", value, "rBeid");
            return (Criteria) this;
        }

        public Criteria andRBeidIn(List<Integer> values) {
            addCriterion("r_beid in", values, "rBeid");
            return (Criteria) this;
        }

        public Criteria andRBeidNotIn(List<Integer> values) {
            addCriterion("r_beid not in", values, "rBeid");
            return (Criteria) this;
        }

        public Criteria andRBeidBetween(Integer value1, Integer value2) {
            addCriterion("r_beid between", value1, value2, "rBeid");
            return (Criteria) this;
        }

        public Criteria andRBeidNotBetween(Integer value1, Integer value2) {
            addCriterion("r_beid not between", value1, value2, "rBeid");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}